草庐IT

Android isScreenOn Nullpointer异常

全部标签

c++ - 为什么我的异常在某些配置上被捕获而在其他配置上却没有?

我有一个程序抛出异常,该异常按预期在某些配置(SuseLinux,g++版本4.4.1)上捕获,但显然没有在另一个配置上捕获,这里:SunOS5.10,g++版本3.3.2。以下是我的异常类的实现:CException.hpp:#ifndef_CEXCEPTION_HPP#define_CEXCEPTION_HPP#include#include#include#include#includeclassCException:publicstd::exception{public:CException();CException(conststd::string&error_msg);CE

c++ - 当一个线程在另一个线程中捕获异常后运行时,进程中止并发出 SIGABRT

我有一个退出处理程序线程等待工作线程完成其工作的条件。信号是从工作线程的析构函数完成的。下面是退出处理线程的代码。voidClass::TaskExitHandler::run()throw(){while(!isInterrupted()){_book->_eot_cond.wait();//Waitingonthiscondition{CLASS_NAMESPACE::Guardeguard(_book->_exitlist_lock);list::const_iteratoritr=_book->_exited_tasks.begin();for(;itr!=_book->_ex

c++ - `std::vector` 在调整大小时抛出 "bad allocation"异常

我在C++dll中有以下代码,我通过JNI调用它:std::vectormyVector;myVector.resize(10000000,0);我收到“错误分配”异常,即使vector的最大大小应该大于10000000。我应该使用什么工具来跟踪内存分配,以便定位任何内存泄漏?如果真的没有内存泄漏,我该如何减少vector的占用空间以确保我有足够的空间? 最佳答案 我知道这可能是找出分配大小的最差解决方案。所以这里是:主要.cpp:#include"jni.h"#include#include#if(_MSC_VER==1800)|

c++ - 写入 wofstream 会产生异常

我尝试将一些wchar_t*写入文件,但编译程序的命令行输出如下所示。本质上,程序在尝试写入希腊字符串时挂起。el_GR.UTF-8terminatecalledafterthrowinganinstanceof'int'Ακυρώθηκε(coredumped)下面是源代码#include#include#include#includeusingnamespacestd;intmain(intargc,char**argv){printf("%s\n",setlocale(LC_ALL,""));wofstreamf("xxx.txt",ios::out);if(f.is_open(

已解决com.mysql.cj.jdbc.exceptions.CommunicationsException异常的正确解决方法,亲测有效!!!

已解决com.mysql.cj.jdbc.exceptions.CommunicationsException异常的正确解决方法,亲测有效!!!文章目录问题分析出现问题的场景报错原因解决思路解决方法检查数据库服务器状态验证网络连接核对连接信息检查防火墙和安全组设置调整MySQL服务器设置总结在开发使用MySQL数据库的Java应用程序时,com.mysql.cj.jdbc.exceptions.CommunicationsException是一个常见的异常,它通常表明客户端与MySQL服务器之间的通信链路出现了故障。这个问题可能会导致你的应用程序无法正常与数据库交互,影响用户体验和数据处理能力

ARMv8-AArch64 的异常处理模型详解之异常处理详解(进入异常以及异常路由)

在上篇文章ARMv8-AArch64的异常处理模型详解之异常处理概述Handlingexceptions中,作者对异常处理整体流程以及相关概念做了梳理。接下来,本文将详细介绍处理器在获取异常、异常处理以及异常返回等过程中都做了哪些工作。ARMv8-AArch64的异常处理模型详解之异常处理详解一,保存当前处理器状态(Savingthecurrentprocessorstate)PSTATE,ProcessorstatePSTATEatAArch32SPSR,SavedProcessStatusRegister二,异常路由以及中断控制器SCR_EL3,SecureConfigurationReg

c++ - 防止 "Float-point invalid operation"异常?

我正在使用VisualC++将二进制数据加载到float中,如下所示:doubledValue;memcpy(&dValue,lpData,sizeof(dValue));对于正常情况,这将正常工作。然而,在极少数情况下,当二进制数据损坏时,dValue将无效,对其进行任何进一步操作将导致“浮点无效操作”异常。我在调试器中检查了dValue,它显示为-1.#QNAN00000000000。为了防止异常,我需要在从二进制数据加载后验证dValue。我尝试使用:if(_finite(dValue)){…dosometasks…}但是无效的dValue仍然会导致_finite函数引发Floa

c++ - 处理 QPluginLoader::load() 抛出的异常

我有2个Qt插件,main和helper,main.dll加载helper.dll。当main.dll和helper.dll都在时,我能够使用QPluginLoader成功加载main.dll同一个文件夹。当helper.dll不存在并且我尝试加载main.dll时,抛出异常。这是可以理解的原因helper.dll找不到。我的任务是成功捕获抛出的异常,而不是让应用程序崩溃。调试时QtCreator显示的是:下面的代码没有解决问题,所以我需要做点别的……std::exception_ptreptr;QPluginLoaderpluginLoader(packagePath);try{pl

c++ - 在 OSX 10.11.4 + clang 上抛出异常导致 SIGSEGV

给定以下代码:#include#includeusingnamespacestd;classexception_base:publicruntime_error{public:exception_base():runtime_error(string()){}};classmy_exception:publicexception_base{public:};intmain(){throwmy_exception();}这在GNU/Linux和Windows上运行良好,并且在最新更新到版本10.11.4之前在OSX上运行良好。我的意思是,因为没有捕获到异常,所以调用了std::termi

c++ - VS2015 与 VS2013 中的不同优化导致浮点异常

我有一个从VS2013到VS2015的过渡过程中出现的问题的小例子。在VS2015中进一步提到代码示例导致浮点无效操作。intmain(){unsignedintenableBits=_EM_OVERFLOW|_EM_ZERODIVIDE|_EM_INVALID;_clearfp();_controlfp_s(0,~enableBits,enableBits);intcount=100;floatarray[100];for(inti=0;i这只发生在Release模式下,所以它可能是由不同的优化引起的。此代码有问题还是VS2015中的错误?很难在整个代码库中找到像这样的问题,所以我正